package com.ics.atable.chat.service;

import com.google.gson.JsonObject;
import com.ics.atable.chat.model.dto.ItemEmbeddingDTO;
import com.ics.atable.chat.model.dto.ItemImportDTO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 指标管理服务接口
 *
 * @author Chawu
 */
public interface ItemService {
    
    /**
     * 处理Excel文件上传，包括验证、解析、向量化和存储
     *
     * @param file Excel文件
     * @return 处理结果
     * @throws Exception 处理异常
     */
    List<ItemImportDTO> processExcelFile(MultipartFile file) throws Exception;
    
    /**
     * 验证Excel文件格式和大小
     *
     * @param file Excel文件
     * @throws IllegalArgumentException 验证失败异常
     */
    void validateExcelFile(MultipartFile file) throws IllegalArgumentException;

    List<JsonObject> convertToMilvusDataFormat(List<ItemEmbeddingDTO> embeddingList);
}
